Data Flow Analysis across Tuplespace Process Boundaries
نویسندگان
چکیده
The increasing attention toward distributed shared memory systems attests to the fact that programmers nd shared memory parallel programming easier than message passing programming, while physically distributed memory multiprocessors and networks of workstations o er the desirable scalability for large applications. A current limitation of compilers for shared memory parallel languages is their restricted use of traditional scalar code-improving transformations, such as constant propagation and dead code elimination. The major problem lies in the failure of data ow analysis techniques developed for sequential programs in the context of shared memory programs with user-speci ed parallelism. Notable e orts to develop data ow frameworks for optimizing parallel programs have focused on programs with lexically-speci ed parallel constructs, such as cobegin/coend, where sections of the parallel constructs are data independent except where an appropriate synchronization mechanism is used. Not only do the data ow equations for a simple problem like reaching de nitions become more complex, but the assumed memory consistency model has a large e ect on the complexity of the problem. In this paper, we show a contrary example where traditional data ow analysis remains quite viable in a compiler for shared memory parallel programs in a structured distributed shared memory environment, in which a shared space of tuples is accessed by properly synchronized methods. We demonstrate how standard intraprocess data ow analysis remains viable over tuplespace communication statements, and present improvements to the precision of the analysis in the presence of these statements. We present a data ow framework to compute reaching de nitions across process boundaries, and a technique to improve the precision of this interprocess analysis. Lastly, we demonstrate some transformations enabled by reaching de nitions through tuplespace.
منابع مشابه
Tuple Counting Data Flow Analysis and its Use in Communication Optimization
Tuplespace provides parallel programmers with an abstrac tion that hides the speci c underlying architecture allowing the archi tecture to be any number of platforms ranging from shared or distributed memory to a cluster of workstations Unfortunately any abstraction of this kind necessarily introduces a trade o for the application pro grammer between ease of use and control over performance Thi...
متن کاملAsymptotic Analysis of Binary Gas Mixture Separation by Nanometric Tubular Ceramic Membranes: Cocurrent and Countercurrent Flow Patterns
Analytical gas-permeation models for predicting the separation process across membranes (exit compositions and area requirement) constitutes an important and necessary step in understanding the overall performance of membrane modules. But, the exact (numerical) solution methods suffer from the complexity of the solution. Therefore, solutions of nonlinear ordinary differential equations th...
متن کاملAnalysis of Axisymmetric Extrusion Process through Dies of any Shape with General Shear Boundaries
In this paper, a generalized expression for the flow field in axisymmetric extrusion process is suggested to be valid for any dies and the boundary shapes of the plastic deformation zone. The general power terms are derived and the extrusion force is calculated by applying upper bound technique for a streamlined die shape and exponential functions for shear boundaries. It is shown that assuming...
متن کاملFault-Tolerance in Distributed Tuplespaces
The tuplespace data model is widely recognized for serving as a foundation for exchanging data and/or coordinating events in distributed systems. In fact, in the last of couple of years the tuplespace paradigm has experienced a renaissance because it is suitable for distributed Internet applications. However, this model is originally based on a centralized scheme, being exposed to classical fai...
متن کاملTest Generation Based On Control And Data Dependencies Within Multi-Process SDL Specifications
Control and data flow aspects of a distributed system can be identified through the analysis of control and data dependencies that exist not only within processes, but also across process boundaries. This paper proposes a non-interleaving model that exposes the intra-process as well as inter-process control and data dependencies in a specification of a distributed system given in SDL. The model...
متن کامل